home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
NEW
/
A-Newest
/
TORPET.d64
/
list formater
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-12
|
4KB
|
116 lines
140 INPUT"TESTING,VIDEO:";TE,VI
150 GOSUB1000:GOSUB2000:GOSUB3000
160 IFVI=0THENPRINT:PRINT:PRINT:PRINT"COMMENTS: "
170 IFVI=0THENPRINT#4:CLOSE4
180 POKE45,PEEK(43):POKE46,PEEK(44):POKE43,PEEK(251):POKE44,PEEK(252):CLR:END
1000 REM SET UP TOKENS
1030 IFTESTINGTHENPRINT"SETTING UP TOKENS"
1040 DIMTKN$(128):FORI=1TO75:READTKN$(I):NEXT
1045 TKN$(128)=CHR$(123)+"PI"+CHR$(125)
1050 DIMRP$(255)
1060 FORI=5TO31:READRP$(I):NEXT:FORI=129TO159:READRP$(I):NEXT
1070 RETURN
1130 DATA END,FOR,NEXT,DATA,INPUT#,INPUT,DIM,READ,LET,GOTO
1140 DATA RUN,IF,RESTORE,GOSUB,RETURN,REM,STOP,ON,WAIT,LOAD
1150 DATA SAVE,VERIFY,DEF,POKE,PRINT#,PRINT,CONT,LIST,CLR,CMD
1160 DATA SYS,OPEN,CLOSE,GET,NEW,TAB(,TO,FN,SPC(,THEN
1170 DATA NOT,STEP,+,-,*,/,^,AND,OR,>
1180 DATA =,<,SGN,INT,ABS,USR,FRE,POS,SQR,RND
1190 DATA LOG,EXP,COS,SIN,TAN,ATN,PEEK,LEN,STR$,VAL
1200 DATA ASC,CHR$,LEFT$,RIGHT$,MID$
1300 DATA WHT,,,DISC,ENSC,,,,RTN,LC,,,CSRD,RVS,HOME,DEL,,,,,,,,RED,CSRR,GRN,BLU
1310 DATA ORNG,,,,F1,F3,F5,F7,F2,F4,F6,F8,SRTN,UC,,BLK,CSRU,RVSO,CLR,INST,BRWN
1320 DATA LTRD,GR1,GR2,LTGRN,LTBLU,GR3,PUR,CSRL,YEL,CYN
2000 REM GET HEADINGS
2030 IFVI=0THENINPUT"TITLE: ";TT$:INPUT"NAME : ";FI$:INPUT"DATE :";DA$
2035 IFVI=0THENINPUT"SECONDARY ADDRESSES: ";SA(1),SA(2)
2040 RETURN
3000 REM PRINT THE LISTING
3050 IFVIDEOTHENPRINT"[147]"
3060 IFVI=0THENOPEN4,4,SA(1):CMD4:PRINT:PRINTTT$:PRINTFI$SPC(60-LEN(TT$))DA$:LC=3
3065 IFVI=0THENPRINT#4:CLOSE4:OPEN4,4,SA(2):CMD4
3070 IFTESTINGTHENPRINT"MAIN LINE."
3080 IN=0:TN=0:LI$="":SRF=0:PB=PEEK(252)*256+PEEK(251)
3081 NB=PEEK(43)+PEEK(44)*256-PB-1
3090 GOSUB4000:IFEOP=0THEN3090
3100 RETURN
4000 REM PRINT ONE NUMBERED LINE
4040 LP=0:TN=0:QF=0:RF=0:NX=0:DF=0
4045 IFPSTHENGOSUB7000
4050 GOSUB6000:X=BY:GOSUB6000:X=BY*256+X:NB=NB-2:IFTESTINGTHENPRINT"MEMPTR= "X
4060 IFTESTINGTHENPRINT"NB= ";NB
4070 IFNB<1THENEOP=1:RETURN
4080 GOSUB6000:X=BY:GOSUB6000:LNE=X+BY*256:NB=NB-2:IFTESTINGTHENPRINT"LINE #= "LNE
4090 IFTESTINGTHENPRINT"NB= ";NB
4100 IFNB<1THENEOP=1:RETURN
4110 GOSUB6000:NB=NB-1:IFBY=0THENRETURN
4114 IFBY<128THEN4135
4115 IFTK$(BY-127)="REM"ANDSRFTHENGOSUB7100
4120 IFTK$(BY-127)="REM"ANDSRF=0THENGOSUB7100:CT=0:SRF=1:GOTO4140
4130 IFTK$(BY-127)<>"REM"ORSRF=0THENGOSUB7100:CT=0:SRF=0:GOTO4140
4135 GOSUB7100:CT=0:SRF=0
4140 PRINTRIGHT$(" "+STR$(LNE),5);:CT=5:GOTO4160
4150 GOSUB6000:NB=NB-1:IFBY=0THENCT=0:RETURN
4160 LP=LP+1
4165 IFCT>79THENGOSUB7000
4170 IFBY>127ANDQF=0THENGOSUB5000:GOTO4150
4180 IFBY=32ANDQF=0ANDRF=0ANDDF=0THEN4150
4200 IFCT<8+IN+TNTHENPRINTSPC(8+IN+TN-CT);:CT=8+IN+TN
4220 IFLP=1ANDRF=0ANDTF=0THENPRINTSPC(8+IN+TN-CT):CT=8+IN+TN
4224 IFLP<>1ORRF>0ORTF=0THEN4230
4225 IFBY>=48ANDBY<=57THENPRINTSPC(8+TN+IN-CT)"GOTO ";:LP=LP+5:CT=8+IN+TN+5
4230 IFBY=ASC(":")ANDQF=0THENPRINT" ";:NX=0:CT=CT+1
4235 IFCT>79THENGOSUB7000
4240 IFLP=1ANDTFTHENPRINTSPC(8+IN+TN-CT);:CT=8+IN+TN
4250 IFLP=1ANDBY=32THEN4150
4253 IFBY>31ANDBY<96OR(BY>31ANDBY<128ORBY>191ANDBY<224)AND(SA(2)>=6)THEN4262
4255 IFRP$(BY)>""THEN4259
4256 S$=MID$(STR$(BY),2):IFCT>79-LEN(S$)-1THENGOSUB7000
4257 PRINTCHR$(123)S$CHR$(125);:CT=CT+LEN(S$)+2:GOTO4270
4259 IFCT>79-LEN(RP$(BY))-1THENGOSUB7000
4260 PRINTCHR$(123)RP$(BY)CHR$(125);:CT=CT+LEN(RP$(BY))+2
4261 GOTO4270
4262 PRINTCHR$(BY);:CT=CT+1:IFCT>79THENGOSUB7000
4270 IFBY=34THENQF=1-QF
4275 IFCT>79THENGOSUB7100
4276 IFBY<>ASC(",")ORNX=0THEN4280
4277 IFTN=0ORLI$="F"THENIN=IN-4
4278 LP=1:GOSUB7100:PRINTSPC(8+IN+TN)"(NEXT) ";:CT=8+IN+TN+7
4280 IFBY<>ASC(":")ORQFTHEN4150
4285 DF=0
4290 GOSUB6000:NB=NB-1:IFBY=0THENGOSUB7100:CT=0:RETURN
4300 IFBY=ASC(":")THEN4160
4310 GOSUB7100:LP=1
4320 GOTO4170
5000 REM PRINT A TOKEN'S MEANING
5030 TF=0
5040 IFLP>1THENPRINT" ";:CT=CT+1
5045 IFCT>79THENGOSUB7000
5050 IFTK$(BY-127)="NEXT"THENNX=1:IFTN=0ORLI$="F"THENIN=IN-4
5060 IFLP=1THENPRINTSPC(8+IN+TN-CT);:CT=8+IN+TN
5065 IFCT>79-LEN(TKN$(BY-127))THENGOSUB7000
5066 IFCT<8+IN+TNTHENPRINTSPC(8+IN+TN-CT);:CT=8+IN+TN
5067 IFTK$(BY-127)=""THENPRINTCHR$(123)MID$(STR$(BY),2)CHR$(125)" ";:CT=CT+5:GOTO5074
5070 PRINTTKN$(BY-127)" ";:CT=CT+LEN(TKN$(BY-127))+1
5074 PS=0:IFTN>0THEN5080
5075 IFTK$(BY-127)="GOTO"ORTK$(BY-127)="RETURN"ORTK$(BY-127)="END"THENPS=1
5076 IFTK$(BY-127)="RUN"ORTK$(BY-127)="STOP"THENPS=1
5080 IFTK$(BY-127)="FOR"THENIN=IN+4:LI$="F":RETURN
5090 IFTK$(BY-127)="THEN"THENGOSUB7000:TN=TN+4:LP=0:TF=1:LI$="T":RETURN
5100 IFTK$(BY-127)="REM"THENRF=1
5105 IFTK$(BY-127)="DATA"THENDF=1
5110 RETURN
6000 REM GET NEXT BYTE OF PROGRAM
6030 IFTESTINGTHENPRINT"*";
6040 BY=PEEK(PB):PB=PB+1:RETURN
7000 PRINT:LC=LC+1:IFLC>61ANDVI=0ANDTE=0THENPRINT:PRINT:PRINT:PRINT:LC=0
7003 GETX$:IFX$="[133]"THEN170:REM F1
7004 IFVI=0THENCMD4
7005 PRINTSPC(8+IN+TN);:CT=8+IN+TN
7010 RETURN
7100 PRINT:LC=LC+1:IFLC>61ANDVI=0ANDTE=0THENPRINT:PRINT:PRINT:PRINT:LC=0
7103 GETX$:IFX$="[133]"THEN170:REM F1
7104 IFVI=0THENCMD4
7105 CT=0
7110 RETURN